#ifndef __STDMYSQL_H_
#define __STDMYSQL_H_

#include <mysql/mysql.h>
#include <string>
#include <iostream>
#include <vector>
using CStrRef = const std::string &;
using StrMatrix = std::vector<std::vector<std::string>>;

class StdMysql
{
public:
    StdMysql();
    ~StdMysql();

    // 连接
    bool Connect(CStrRef host, CStrRef user, CStrRef passwd, CStrRef dbName, int port = 3306);

    // 执行sql语句
    bool Exec(CStrRef sql);

    // 获取查询结果
    StrMatrix GetSqlResult(CStrRef sql);

    // 事务
    bool StartTransaction();
    // 提交
    bool Commit();
    // 回滚
    bool Rollback();

private:
    MYSQL mysql;
    bool isConnected;
};

#endif